Software updates can be performed for a variety of reasons including, for example, to correct issues or defects or to provide new features or functionality.
In recent years, many conventional devices such as, for example, cars, washing machines, refrigerators, and the like, have been enhanced with the addition of embedded computing devices.
Software, including firmware, included in embedded computing devices may require periodic updates. Currently such updates may be provided by bringing updated software to a device such as by way of portable media. For example, an update may be written to a USB thumb drive using a desktop or laptop computer and then the USB thumb drive may be brought to the device to perform the update. In the case of consumer devices, for example, this can be cumbersome. Moreover, as Internet-of-Things devices continue to become more common, the need to visit and operate/interact with each such device in order to periodically update it becomes increasingly cumbersome. Furthermore, in some cases to apply those updates may require the use of a specialized hardware or even, potentially, the services of a specialized technician may be required.